package com.southwind.layui.test;

import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.util.Date;
import java.util.Properties;

/**
 * 可以的
 */

public class wancheng {
    /**
     *
     * 配置发送基本参数
     * 发件人邮箱的SMTP服务器地址
     * 前三个不可更改
     *
     * */
    private final static String MyEmail = "kelianctf@163.com";//开启授权码的邮箱
    private final static String AuthorizationCode = "SRNNVUINNMDXCEBZ";//授权码
//        private final static String AuthorizationCode = "KLadmin@2023";//授权码

    private final static String SMTPEmail = "smtp.163.com";// 网易163邮箱的 SMTP 服务器地址
//        private final static String SMTPEmail = "pop.163.com";// 网易163邮箱的 SMTP 服务器地址

    private static String harvestEmail = "yq2234567@163.com";// 收件人邮箱
//        private static String harvestEmail = "1640267423@qq.com";// 收件人邮箱


//    TNFAHWNFFYTVDXLF

//        private final static String MyEmail = "yq2234567@163.com";//开启授权码的邮箱
//        private final static String AuthorizationCode = "TNFAHWNFFYTVDXLF";//授权码
//        private final static String SMTPEmail = "smtp.163.com";// 网易163邮箱的 SMTP 服务器地址
////        private final static String SMTPEmail = "pop.163.com";// 网易163邮箱的 SMTP 服务器地址
//        private static String harvestEmail = "1640267423@qq.com";// 收件人邮箱
////        private static String harvestEmail = "kelianctf@163.com";// 收件人邮箱

    public static void main(String[] args) throws Exception {
        //创建连接邮件服务器的参数配置
        Properties props = new Properties();// 参数配置
        props.setProperty("mail.smtp.host", SMTPEmail);// 发件人的邮箱的 SMTP 服务器地址
        props.setProperty("mail.smtp.auth", "true");// 需要请求认证
        props.setProperty("mail.transport.protocol", "smtp");
        //根据配置创建会话对象和邮件服务器交互
        Session session = Session.getInstance(props);
        session.setDebug(true);// 设置为debug模式, 可以查看详细的发送日志
        //创建邮件
        MimeMessage message = createEmail(session, MyEmail, harvestEmail);
        //使用Session获取邮件传输对象
        Transport transport = session.getTransport();
        //使用邮箱账号和密码连接邮件服务器
        transport.connect(MyEmail, AuthorizationCode);
        //发送邮件
        transport.sendMessage(message, message.getAllRecipients());
        //关闭连接
        transport.close();
    }


    static String code = "1222";

//    static String html = "<h1>验证您是该电子邮件地址的所有者：</h1>\n" +
//            "<h2>最近有人在验证电子邮件时输入了该电子邮件地址。</h2>\n"+
//            "<h2>您可以使用此验证码来验证您时该电子邮件地址的所有者</h2>\n"+
//            code;

//    static String html = "<h1>验证您是该电子邮件地址的所有者：最近有人在验证电子邮件时输入了该电子邮件地址,您可以使用此验证码来验证您时该电子邮件地址的所有者。</h1>\n" +
//            "<font size=\"100\" color=\"blue\">这里是红色</font>"+
//            code;

//    static String html = "<h1>验证您是该电子邮件地址的所有者：最近有人在验证电子邮件时输入了该电子邮件地址,您可以使用此验证码来验证您时该电子邮件地址的所有者。</h1>\n" +
//            "<font size=\"100\" color=\"blue\">这里是红色</font>";

    static String html = "<h1>验证您是该电子邮件地址的所有者：最近有人在验证电子邮件时输入了该电子邮件地址,您可以使用此验证码来验证您是该电子邮件地址的所有者。</h1>\n" +
            "<div style='font-size:30px;color:blue;text-align:center;'><span style=''>" + code + "</span></div>";
//            "<span style='font-size:30px;font-weight:bold;color:blue;text-align:center;'>" + code + "</span></p>";

//            "<span style='font-size:30px;font-weight:bold;color:red;text-align:center;'>" + code + "</span>，1分钟之内有效，请尽快使用！</p>";
//            "<font size=\"1\" color=\"red\" align=\"center\">"+code+"</font>";



//            "<table border=\"1\">\n" +
//            "  <tr>\n" +
//            "    <th>月度销售额</th>\n" +
//            "    <th>年度销售额</th>\n" +
//            "  </tr>\n" +
//            "  <tr>\n" +
//            "    <td>10000</td>\n" +
//            "    <td>2000000</td>\n" +
//            "  </tr>\n" +
//            "</table>";


    /**
     *
     * 创建邮件
     *
     * */
    public static MimeMessage createEmail(Session session, String sendMail, String receiveMail) throws Exception {
        //创建一封邮件
        MimeMessage message = new MimeMessage(session);
        //发件人
        message.setFrom(new InternetAddress(sendMail, "kl-ctf", "UTF-8"));
        //收件人
        message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMail, harvestEmail, "UTF-8"));
        //邮件主题
        message.setSubject("绑定邮箱提醒", "UTF-8");
        //邮件正文
        message.setContent(html, "text/html;charset=UTF-8");
        //设置发件时间
        message.setSentDate(new Date());
        //保存设置
        message.saveChanges();
        return message;
    }
}
